/*
 * Copyright (c) 2017. pokermman Inc. All rights reserved.
 */

package com.ziqing.apeletnews.retrofit;


/** 根据服务端信息返回错误
 * Created by ywh on 2018/5/1.
 */

public class ApiException extends RuntimeException {

    private static String message;

    public ApiException(int resultCode) {
        this(getApiExceptionMessage(resultCode));
    }

    public ApiException(HttpResult result) {
        this(getApiExceptionMessage(result));
    }

    public ApiException(String detailMessage) {
        super(detailMessage);
    }

    @Override
    public String getMessage() {
        return message;
    }

    /**
     * 由于服务器传递过来的错误信息直接给用户看的话，用户未必能够理解
     * 需要根据错误码对错误信息进行一个转换，在显示给用户
     *
     * @param code 错误码
     * @return 返回错误信息
     */
    private static String getApiExceptionMessage(int code) {
        switch (code) {
            default:
                message = "errorCode：" + code;
        }
        return message;
    }

    /**
     * 由于服务器传递过来的错误信息直接给用户看的话，用户未必能够理解
     * 需要根据错误码对错误信息进行一个转换，在显示给用户
     *
     * @param codeResult 错误信息
     * @return 返回错误信息
     */
    private static String getApiExceptionMessage(HttpResult codeResult) {
        message = codeResult.getMsg();
//        switch (codeResult.getErrorCode()) {
//            default:
//                message = codeResult.getErrorMsg();
//        }
        return message;
    }
}
